#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <errno.h>
#include <string.h>

int main()
{
    // vdcode不报错
    // 错误4.使用free释放动态开辟内存的一部分，没有全部free
    int *p = malloc(40);
    if(p == NULL){
        return 0;
    }
    int i = 0;
    for(int i=0;i<2;i++){
        *p++ = i; //p逐渐增大，开始指向内存的首位置，最后指向末尾
    }

    free(p);    // 此时释放p只释放了一部分
    for (int i = 0; i < 10; i++)
    {
        printf("i = %d ", p[i]); // i指向乱码
    }
    p = NULL;
    return 0;
}